Method of controlling steering of a ground vehicle

ABSTRACT

A method of controlling steering of a vehicle through setting wheel angles of a plurality of modular electronic corner assemblies (eModules) is provided. The method includes receiving a driving mode selected from a mode selection menu. A position of a steering input device is determined in a master controller. A velocity of the vehicle is determined, in the master controller, when the determined position of the steering input device is near center. A drive mode request corresponding to the selected driving mode to the plurality of steering controllers is transmitted to the master controller. A required steering angle of each of the plurality of eModules is determined, in the master controller, as a function of the determined position of the steering input device, the determined velocity of the vehicle, and the selected first driving mode. The eModules are set to the respective determined steering angles.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of, and claims the benefitof priority from, U.S. application Ser. No. 14/075,262, which was filedon Nov. 8, 2013, which is incorporated by reference in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with government support under NASA Space ActAgreement number SAA-EA-10-017. The invention described herein may bemanufactured and used by or for the U.S. Government for U.S. Government(i.e., non-commercial) purposes without the payment of royalties thereonor therefor.

TECHNICAL FIELD

The present disclosure is related to a method of controlling steering ofa vehicle.

BACKGROUND

An ideal vehicle design for a driver who is commuting within a congestedarea might be a relatively small, fuel efficient vehicle that is easy tomaneuver and park. However, on other occasions, the same driver may wishto transport multiple passengers and/or cargo, or may wish to operate indifferent drive modes. For such a driver, a conventional vehicle chassisand powertrain, having a fixed configuration and mechanically coupledsteering, braking, and propulsion systems, may be less than optimal.

SUMMARY

A modular robotic vehicle is disclosed herein. The vehicle iselectrically driven, via by-wire commands, using energy from ahigh-voltage battery pack and an associated power electronics module.The vehicle is controlled by way of a distributed control network havinga primary and secondary master controller and multiple embedded controlmodules, with each control module having a corresponding steering,propulsion, and braking control task for a given corner of the vehicle.Multiple levels of control redundancy are provided, e.g., with multiplecontrol modules used to ensure a “fail safe” backup for operationallycritical functions.

Additionally, each corner of the vehicle includes a modular,self-contained “eModule”, housing electric steering, propulsion,braking, and suspension subsystems. Independent control of each eModuleis supervised by the primary and secondary master controllers, with thevarious control modules embedded within the eModules communicating asneeded with the master controller via Ethernet for Control AutomationTechnology (EtherCAT), control area network (CAN) bus, or anothersuitable high-speed connection.

Driver input commands are received by the master controller from variousdevices, such as a steering wheel and/or joystick, a brake pedal, anaccelerator pedal, and a human machine interface (HMI) screen ortouchpad. These electrical input signals are transmitted to the primaryand secondary master controllers. The primary and secondary mastercontrollers then determine the driver's desired control response, andissue individual commands to each of the control modules embedded withinthe eModules that are affected by the driver inputs. The entire controloperation is by-wire as noted above, i.e., lacking a direct mechanicallinkage between the driver input devices and the steering, propulsion,or braking subsystems being controlled in response to the driver'sinputs.

One possible aspect of the disclosure provides a method of controllingsteering of a vehicle through setting wheel angles of a plurality ofmodular electronic corner assemblies (eModules) relative to a chassis.The method includes receiving a driving mode selected from a modeselection menu. A position of a steering input device is determined in amaster controller. A velocity of the vehicle is determined, in themaster controller, when the determined position of the steering inputdevice is near center. A drive mode request corresponding to theselected driving mode is transmitted to a plurality of steeringcontrollers. A required steering angle of each of the plurality ofeModules is determined, in the master controller, as a function of thedetermined position of the steering input device, the determinedvelocity of the vehicle, and the selected first driving mode. TheeModules are set to the respective determined steering angles.

In another aspect of the disclosure, a method of controlling steering ofa vehicle through setting wheel angles of a plurality of eModules,relative to a chassis is provided. The method includes activating a modeselection menu. A driving mode selected from the mode selection menu isreceived. A master controller determines the position of a steeringinput device and a velocity of the vehicle. The wheel angle for each ofthe eModules is determined as a function of the selected driving mode,the position of the steering input device, and the determined velocityof the vehicle. The determined wheel angles are transmitted for each ofthe plurality of eModules to a respective steering controller.

In yet another aspect of the disclosure, a method of controllingsteering of a vehicle through setting wheel angles of a plurality ofeModules relative to a chassis is provided. The method includesactivating a mode selection menu and receiving a selected first drivingmode selected from the mode selection menu. A master controllerdetermines when a brake pedal is activated. A first drive mode requestcorresponding to the selected first driving mode is transmitted to aplurality of steering controllers when the brake pedal is determined tobe activated. Each of the steering controllers corresponds to arespective eModule.

The above features and advantages and other features and advantages ofthe present teachings are readily apparent from the following detaileddescription of the best modes for carrying out the present teachingswhen taken in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic perspective side view illustration of an examplemodular vehicle.

FIG. 2 is a schematic exploded view illustration of the vehicle shown inFIG. 1.

FIG. 3 is a schematic perspective side view illustration of an examplemodular eModule usable with the vehicle shown in FIGS. 1 and 2.

FIG. 4 is a schematic exploded perspective front view illustration ofthe eModule of FIG. 3.

FIG. 5 is an example flow chart of a method of selecting steering modeswhen the vehicle is stopped.

FIG. 6 is another example flow chart for a method of selecting steeringmodes when the vehicle is in motion.

FIG. 7 is yet another example flow chart for a method of selectingsteering modes for the vehicle.

FIG. 8 is an example flow chart for a steering algorithm for initiatinga two-wheel steering (2WS) mode at step 280 in FIG. 7.

FIG. 9 is an example flow chart for a steering algorithm for initiatinga four-wheel steering (4WS) mode at step 280 in FIG. 7.

FIG. 10 is an example flow chart for a steering algorithm for initiatingan omni-directional steering mode at step 280 in FIG. 7

FIG. 11 is an example flow chart for a steering algorithm for initiatinga park mode at 280 in FIG. 7.

FIG. 12 is a schematic diagrammatic view of the vehicle.

FIG. 13 is a schematic diagrammatic view of the vehicle illustrating the2WS mode.

FIG. 14 is a schematic diagrammatic view of the vehicle illustrating the4WS mode.

FIG. 15 is a schematic diagrammatic view of the vehicle illustrating thediamond steering mode.

FIG. 16 is a schematic diagrammatic view of the vehicle illustrating thepark mode.

FIGS. 17A-17C are schematic diagrammatic views of the vehicleillustrating an omni-directional steering mode.

FIGS. 18A-18F are schematic diagrammatic views of the vehicleillustrating a parking maneuver between two other vehicles.

FIGS. 19A-19C are schematic diagrammatic views of the vehicleillustrating another parking maneuver between two other vehicles.

FIGS. 20A and 20B are schematic diagrammatic views of the vehicleillustrating a parallel parking maneuver between two other vehiclesusing omni-directional steering.

DETAILED DESCRIPTION

Referring to the drawings, wherein like reference numbers refer to likecomponents throughout the several Figures, an example modular roboticvehicle 10 is shown schematically in FIGS. 1 and 2. The term “modular”as used herein refers to the modularity of design of the vehicle 10 as awhole, i.e., with the vehicle 10 being divided into multipleindependently and/or interdependently controlled electromechanicalsubsystems or modular components, each of which can be disconnected fromor connected, to the vehicle 10 as needed to establish a desiredfunctional drive configuration.

A particular modular component providing a foundation to the design setforth herein is a self-contained electric corner assembly or “eModule”40, with one eModule 40 being positioned at each corner of the vehicle10, i.e., a left front (LF) 25, a right front (RF) 27, a left rear (LR)29, and a right rear (RR) 30 of the vehicle 10. Each eModule 40 includesa drive wheel 18. A typical four-wheel design as shown in FIG. 1 hasfour eModules 40. However, it should be appreciated that the vehicle 10may have more or less eModules 40 than shown and described hereinwithout departing from the intended scope of the disclosure. The basicdesign and functionality of the eModules 40 is described in furtherdetail below with reference to FIGS. 3 and 4. The vehicle 10 includes aprimary master controller 50 and a secondary master controller 150. TheeModules 40, as with all components of the vehicle 10, may be drivensolely via electrical power from a high-voltage energy storage system(ESS) 24 and an onboard battery management system (BMS) 52, shown inFIG. 2. Overall control supervision is provided via the primary mastercontroller 50 and/or the secondary master controller 150, as shown inFIGS. 3, 6, and 7, and explained in more detail below.

Referring to FIG. 3, each eModule 40 includes a steering module 46, apropulsion module 48, a braking module 49, and a communications module(not shown). As such, there is a control system embedded within the LF25 eModule 40, the RF 27 eModule 40, the LR 29 eModule 40, and the RR 30eModule 40.

The steering module 46 is configured for directing steering of therespective eModule 40, as will be explained in more detail below. Thesteering module 46 includes a first and a second steering controller50S1, 50S2 and a first and second steering sensor 58A, 58B, i.e.,encoder read head. Functional redundancy within the steering module 46is enabled via the use of the first and second steering controllers50S1, 50S2, as shown in FIG. 3. The first and second steering sensors58A, 58B each redundantly measure and output the steering angle (arrowθ_(SA)) to a corresponding one of the first and second steeringcontrollers 50S1, 50S2. Therefore, each of these steering controllers50S1, 50S2 receives the steering angle (arrow θ_(SA)) from acorresponding one of the first and second steering sensors 58A, 58B. Thefirst and second steering controllers 50S1, 50S2 are explained in moredetail below.

Referring to FIG. 3, the propulsion module 48 is configured fordirecting propulsion of the eModule 40 and for determining wheel speedof the vehicle 10. The propulsion module 48 includes a propulsioncontroller 50P and a first and a second propulsion sensor 60A, 60B orencoder. The first and second propulsion sensors 60A, 60B, which areshown schematically in FIG. 3, provide rotational positional informationof the respective wheel 18. The first and second propulsion sensors 60A,60B may include any suitable sensor capable of providing rotationalpositional information.

Referring to FIG. 3, the braking module 49 is configured for directingbraking of the eModule. The braking module 49 includes a brakingcontroller 50B and a braking sensor 62. The braking sensor 62 is shownschematically in FIG. 3. The braking controller 50B is used at eacheModule 40 to independently control the respective braking at thevarious eModules 40. More specifically, with reference to FIG. 3, thebraking sensor 62 may include, but not be limited to, an encoder discand read head, which are operable to identify a rotational position ofan output shaft (now shown) of a brake actuator (not shown). As such,the braking controller 50B controls the engagement and disengagement ofbrake shoes (not shown) within the eModule 40, through all levels ofwear of the brake shoes. Accordingly, the brake system does not requireany mechanisms for adjusting slack in the brake system caused by wear ofthe brake shoes.

The communications module is configured for communicating between eachof the primary and secondary master controllers 50, 150 and thecorresponding steering, propulsion, and braking modules 46, 48, 49.

Referring again to FIG. 1, the vehicle 10 of FIG. 1 also includes achassis 12 to which is attached a front and a rear body shell 14 and 16,respectively. The chassis 12 may be formed from a lattice ofinterconnected tubular frame pieces, e.g., steel, aluminum, orfiberglass tubing. The structure of the chassis 12 can also be used tohelp secure the eModules 40 to the chassis 12.

Further with respect to FIG. 1, each drive wheel 18 is individuallypowered by the corresponding propulsion module 48 and braking module 49contained within a hub 96 or center structure of the drive wheel 18. Thepropulsion module 48 is configured to propel the vehicle 10 by causingthe corresponding wheel 18 to rotate about a wheel axis 17. Morespecifically, the propulsion controller 50P is configured to receive acommand from the primary and/or secondary master controller 50, 150 and,in turn, send a signal to energize a corresponding electric wheel motor(not shown). While omitted from the Figures for added simplicity, eacheModule 40 may include a brake assembly. The brake assembly may includea brake drum that may be used with a pair of diametrically-opposed brakeshoes, each of which includes a friction surface that is operable toengage a radial inner surface of the brake drum. An electric brakemotor, also omitted, may be used to move the brake shoes into engagementwith the drum when braking is commanded by a driver of the vehicle 10.

Referring to FIG. 2, the vehicle 10 is controlled via driver commands asreceived by multiple driver interface devices 31. These devicescollectively determine a driver's desired control response, and in turnprovide associated control signals to the primary master controller 50,which is shown schematically in FIG. 2, for the purpose of establishingreliable, fault-tolerant by-wire control of all steering, propulsion,and braking functions. The noted driver interface devices 31 may includea steering input device, shown here as a conventional steering wheel 32and an optional joystick 132, an accelerator pedal 34, a brake pedal 36,a human-machine interface (HMI) screen 38, e.g., a touch screen, and adashboard display device 88, and the like. Other driver interfacedevices may be envisioned without departing from the intended inventivescope. In some embodiments, the functions of the steering wheel 32 aswell as that of the pedals 34 and 36 may be performed via the joystick132.

Referring to FIG. 2, the vehicle 10 is shown in exploded view toillustrate some of the modules and associated components noted above.Sensors (not shown) may be positioned with respect to the acceleratorand brake pedals 34 and 36, respectively, and used to measure the amountof travel and/or force as corresponding accelerator pedal signals(A_(X)) and brake pedal signals (B_(X)). Similarly, a steering anglesensor may be positioned with respect to the steering input device 32and used to measure the steering angle (θ_(S)). Calculated changes inthe measured steering angle over time determine the steering rate(ω_(S)). Other control inputs (arrow 11) from the HMI screen 38 such asa selected drive/steering mode and/or heating, ventilation, and airconditioning (HVAC) settings, etc., as well as the various signalsA_(X), B_(X), θ_(S), and ω_(S), are communicated to the primary andsecondary master controllers 50, 150, which ultimately coordinates allcontrol actions on board the vehicle 10. For functional redundancy, asdescribed above, the secondary master controller 150 may be used inconjunction with the primary master controller 50, with the secondarymaster controller 150 receiving the same set of signals. As describedabove, in the event of an unexpected logic fault, for instance, thesecondary master controller 150 can continue to provide the core controlfunctionality of the vehicle 10.

Referring to FIG. 3, the eModule 40 is configured to house all of theembedded controllers used for control of that particular corner of thevehicle 10, i.e., the propulsion controller 50P, the steeringcontrollers 5051, 50S2, and the brake controller 50B. To serve thisfunction, the eModule 40 is provided with a housing 68, having an upperportion 70 and a lower portion 74, with the controllers 50P, 50S1, 50S2,50B disposed therein.

The first and second steering controllers 5051, 50S2, positioned withrespect to the upper portion 70, locally control the steering functionof the respective eModule 40. As described above, the two steeringcontrollers 5051, 5052 may be used for functional redundancy over allsteering functions. While omitted for simplicity, the upper portion 70may include a removable access cover which provides direct access to thesteering controllers 5051, 5052. A suspension assembly having a springand damper assembly 37 are housed within or connected to the lowerportion 74, e.g., electronics, wiring, conduit, and encoders (not shown)as needed for measuring and communicating information pertaining to theorientation of the drive wheel 18 with respect to a pivot axis 19 (seeFIG. 4). The steering and propulsion controllers 50S1, 50S2, and 50P,respectively, are in communication with the primary and secondary mastercontrollers 50, 150, shown in FIGS. 1 and 2, and programmed and equippedto perform local tasks in response to instructions from the primary orsecondary master controller 50, 150 of FIG. 2.

Referring to FIG. 4, each eModule 40 includes a steering controlassembly 80. Each steering control assembly 80 includes a series ofannular components arranged along a steering axis 17. As viewed fromleft to right in FIG. 4, the steering control assembly 80 includes aplurality of sequentially stacked components that include a lowersupport bearing 146A, an encoder read disc 58, a steering hub 86, aspeed reducing gear set 154, an upper support bearing 146B, a bearingclamp 156, a seal 157, and a steering motor stack 90. The encoder readdisc 58 includes a first and a second steering sensor 58A, 58B, each ofwhich measures and outputs the steering angle (arrow θ_(SA)) to acorresponding one of the steering controllers 50S 1, 50S2 of FIG. 3. Inone possible embodiment, the speed reducing gear set 154 shown in FIG. 4provides a steering speed reduction ratio of at least 100:1, e.g.,reducing a 2000 RPM steering input speed to a 20 RPM actual steeringspeed as transmitted to the drive wheel 18. This reduction in turnamplifies steering torque, as will be understood by those of ordinaryskill in the art.

Still referring to FIG. 4, the upper support bearing 146B is disposedadjacent the speed reducing gear set 154, as shown. The bearing clamp156 and seal 157 respectively maintain compression on the bearings 146A,146B and provide a fluid seal within the steering control assembly 80,with the bearings 146A, 146B helping to support the load of the vehicle10 of FIG. 1 at a given eModule 40.

The seal 157 shown in FIG. 4 seals against the steering motor stack 90.The steering motor stack 90 includes a motor support race 92 and adual-wound stator 94 having two sets of windings W1 and W2, with only aportion of the windings W1 and W2 shown schematically for illustrativesimplicity. The steering motor stack 90 may also include annular motorsupports 93 and a pair of motor bearings 96. A motor hub 95 supports arotor 98, on which are epoxied or otherwise secured a series ofpermanent magnets (M), only one of which is shown for clarity. Thesteering motor stack 90 is then secured together via a support plate 97of aluminum or other suitable material and an outer race 99. Otherembodiments of the various supporting elements shown in FIG. 4 may varywith the design. However, to provide functional redundancy to thesteering function, the steering control assembly 80 should retain thedesign of the dual-wound stator 94 and the first and second steeringsensors 58A, 58B.

Referring again to FIG. 4, the first and second steering sensors 58A,58B, and other associated hardware (not shown), for a given eModule 40,can be housed with the first and second steering controllers 50S1, 50S2,and configured to properly encode the position and rotational speed of asteering joint within the eModule 40, as well as to amplify steeringtorque from such a steering motor. As will be appreciated by thosehaving ordinary skill in the art, such embedded controllers may includeprinted circuit board assemblies (PCBAs) having local task executionresponsibility for the eModule 40 within which the PCBA is embedded withinstructions received from the primary master controller 50. The variousPCBAs embodying the individual embedded controllers 50P, 50B, 50S1, and50S2 may include a microprocessor, tangible, non-transitory andtransitory memory, transceivers, cooling plates, and the like, andprogrammed to perform specific tasks locally with respect to the eModule40 in which the PCBA is embedded.

With reference to FIG. 3, the propulsion controller 50P may be containedwithin the upper portion 70 of the housing 68, thereby securing thepropulsion controller 50P in proximity to the drive wheel 18 beingcontrolled without subjecting the propulsion controller 50P to theforces typically experienced by the drive wheel 18 as the vehicle 10travels along a road surface. The brake controller 50B may be positionedin the lower portion 74. Any or all of the various controllers 50, 150,50B, 50S 1, 50S2, 50P provide a level of functional redundancy. Forinstance, as discussed previously, redundant steering controllers 5051,50S2, provide back-up steering control functionality and the secondarymaster controller 150 provides back-up to the primary master controller50 for reliable control of the vehicle 10, in the event the primarymaster controller 50 and/or one of the steering controllers 5051, 50S2should experience an unexpected transient logic error or otherunexpected hardware or software fault.

With continued reference to FIG. 3, the three axes of the eModule 40 arerepresented as the wheel axis 17, pivot axis 19, and steering axis 21.The drive wheel 18 rotates with respect to the wheel axis 17 as notedabove, while the mounted eModule 40 rotates through an actual steeringangle range indicated by double-headed arrow θ_(SA). The driver wheel 18is also allowed to pivot with respect to axis 19 to help absorb shockand road vibration. Referring to FIG. 3, the wheel axis 17 and thesteering axis 21 are longitudinally offset from one another in an XYplane, thus giving them a caster wheel offset, as will be explained inmore detail below.

Use of the modular, independently-controlled eModules 40 of FIG. 3enables different steering or drive modes, including two-wheel steer(2WS) 110, four-wheel steer (4WS) 112, diamond steer 114, andomni-directional steering 116 modes, as well as a park mode 118. The 2WSmode 110 and 4WS mode 112 enable steering via two or four of theeModules 40, respectively. Diamond steering is a particular 4WS mode inwhich the drive wheels 18 are positioned such that a center line CLpassing through their respective centers, which all pass through acenter point C of the vehicle 10. As illustrated in FIG. 15, propulsionin this diamond steer mode 114 would cause the vehicle 10 to rotate inplace around its vertical axis, as will be appreciated by one havingordinary skill in the art.

Referring to FIG. 17A, omni-directional steering 116 places all of thedrive wheels 18 at the same angle with respect to the vehicle's 10longitudinal axis, i.e., the lengthwise or X axis of the vehicle 10 asshown in FIG. 12, such that the drive wheels 18 are all facing in thesame direction. This enables a “crab mode” driving maneuver wherein thevehicle 10 can transition into movement at an angle with respect to itslongitudinal axis, as illustrated in FIG. 17B, including at rightangles, as illustrated in FIG. 17C. Such a mode might facilitatedifficult parking maneuvers, particularly parallel parking into a tightparking space. While the 2WS mode 110, the 4WS mode 112, and the diamondsteer mode 114 may use only one HMI sensor input for steering, i.e., thehand wheel 32, the omni-directional steering 116 uses two HMI inputs,e.g., the hand wheel 32 and the joystick 132. The hand wheel 32 is usedto set the wheel directional vector by keeping all wheels 18 in-phaseand the joystick 132 provides a yaw input about the Z-axis for turningleft or right along the directional vector. Therefore, when the vehicle10 is translating at an angle of its longitudinal axis, the joystick 132allows the vehicle 10 to turn left or right. A unique maneuver can bedone in when the omni-directional steering 116 mode when the hand wheel32 and the joystick 132 inputs are both used, but in opposite directionsfrom one another. As such, the vehicle 10 drives in one direction, e.g.,down a lane of a road while the wheel angles to the ground stay thesame, but the relative motion of the eModules 40 are pushed back intothe vehicle and the vehicle body 14 yaws about the XY center point ofthe vehicle 10.

Park mode 118 means that angles of the LF, RF, LR, and RR wheels 18relative to a front F of the vehicle 10 such the RF and LR wheels 18 areat the same angle and the LF and RR wheels 18 are at the same angle.Thus, in park mode 118 the LF and RF wheels 18 and the LR and RR wheels18 would point outward with respect to the X axis of the vehicle 10,thereby causing wheel scrub and preventing vehicular motion in anydirection without the use of wheel brakes.

As noted above, the primary and secondary master controllers 50, 150 areprogrammed to execute a wide spectrum of different steering modes,including the two-wheel, four-wheel, diamond, and omni-directional or“crab” steering noted above. The modular design of the eModules 40,along with the distributed control network with the primary andsecondary master controllers 50, 150 at its center, enables suchflexibility. A driver, using the HMI screen 38 of FIG. 2 or othersuitable input device such as a mode selector switch, can pick thesteering maneuver for a given drive situation. FIG. 5 illustrates theability of the vehicle 10 to transition between the steering modes whenthe vehicle 10 is stopped, i.e., in the park mode 118. As indicated, thevehicle 10 may switch from the park directly into any of the othermodes, i.e., 2WS 110, 4WS 112, diamond steering 114, andomni-directional steering 116. Likewise, FIG. 6 illustrates the abilityof the vehicle 10 to transition between the steering modes when thevehicle 10 is in motion. As indicated, the vehicle 10 may transitionfrom 2WS to and from 4WS 112, from 4WS 112 to the omni-directionalsteering 116 and from the omni-directional steering 116 to 2WS 110.

It should be appreciated that only the 2WS 110, 4WS 112, oromni-directional steering 116 modes may also be changed while thevehicle 10 is stationary or when the vehicle 10 is in motion. Morespecifically, a joystick 132 position is selected by the driver for aparticular steering mode and then a button 133 on the joystick 132 ispressed to activate the selected mode. However, changing steer modesrequires several conditions to be valid. First, the wheel angles must benear zero degrees, e.g., driving forward. Second, the vehicle velocitymust be below a maximum velocity of the selected steering mode. By wayof a non-limiting example, the 2WS mode 110 may have a maximum velocityof 40 mph and the omni-directional steering 116 mode may be 15 mph.Therefore, in order to switch from the 2WS mode 110 to theOmni-directional steering 116 mode, the vehicle 10 must be less than orequal to 15 mph. Third, the joystick 132 Z-axis (Yaw) must be near zero.Since the omni-directional steering mode 116 uses the Z-axis to turn,the angle must be near zero so as to prevent sudden turns when thevehicle 10 transitions into the omni-directional steering 116 mode.

The ability of the vehicle 10 to change steering modes while the vehicle10 is in motion allows for quick changes without distracting the driverfrom the field of view, e.g., the roadway. Conversely, the system may beconfigured such that the HDMI menu 38 may only be activated when thevehicle 10 is stopped. Although a menu system may be used when thevehicle 10 is in motion, it may be configured to only show valid modesfor selection when the vehicle 10 is in motion.

Referring to FIGS. 5 and 7, a method of controlling steering of thevehicle 10 from the park position involves setting wheel angles of eachof the eModules, relative to the chassis is shown at 200. A command isreceived by the master controller at step 210 to activate a modeselection menu. With reference to FIG. 5, some of the available modeselections on the mode selection menu may include two wheel steer 110,four wheel steer 112, omni-directional or crab (“omni”) steer mode 116,diamond steer mode 114, park, and the like.

Referring again to FIGS. 2 and 7, the master controllers 50, 150determine at step 220 if the vehicle 10 is in motion. The driver modeselection menu is then activated at step 230 when the vehicle 10 isdetermined to not be in motion. Likewise, the drive mode selection menuis not activated when the vehicle 10 is, determined to be in motion. Assuch, the selection is cancelled at step 240.

At step 250, the master controllers 50, 150 receive a selected firstdriving mode, selected from the mode selection menu. The mastercontrollers 50, 150 then determine at step 260 when the brake pedal 34is activated. A first drive mode request, corresponding to the selectedfirst driving mode, is transmitted at step 270 to a plurality ofsteering controllers 50S1, 50S2 when the brake pedal 34 is determined tobe activated. Each of the steering controllers 50S1, 50S2 corresponds toa respective eModule 40.

Once the first drive mode request is transmitted, the method proceeds toinitiating a steering algorithm 400, 500, 600, 700, corresponding to theselected first drive mode request at 280. The required steeringalgorithm 400, 500, 600, 700 may correspond to the 2WS mode 110, 4WSmode 112, diamond steering mode 114, omni-directional steer mode 116,and park mode 118, which are all executed by the master controller atstep 280. Generally, the steering algorithm 400, 500, 600, 700determines the required steering angle of each of the plurality ofeModules 40 as a function of a determined position of the steering inputdevice 32, the determined velocity of the vehicle 10, and the selectedfirst driving mode.

When the vehicle 10 is already operating in a driving mode and inmotion, the master controllers 50, 150 may receive a request for asecond driving mode, also selected from the mode selection menu, at step300. This second driving mode is different from the first driving modeand, as described in more detail below, may only be entered from thefirst driving mode when certain requirements are met.

The position of the steering input device 32 is determined at step 310.The position of the steering input device 32 may be an angle of thesteering wheel, relative to a front F center of the vehicle 10. Adetermination is made, in the master controllers 50, 150 at step 320, asto whether the position of the steering input device 32 is near center.If the position of the steering input device 32 is not near center, thenthe selection is aborted and the method proceeds to step 240. Theposition of the steering input device 32 is only used if the vehicle 10is in motion. If the vehicle 10 is stopped, the steering input device 32may be in any position when selecting the driving mode.

If the position of the steering input device 32 is near center, then themethod proceeds to step 330. At step 330, a determination of the vehiclespeed is made, in the master controller. If the vehicle speed is greaterthan a maximum velocity, then the selection is aborted and the methodproceeds to step 240. If the vehicle speed is determined to be nogreater than the maximum velocity, then the method proceeds to step 350,where a second drive mode request is sent to the steering controller50S1, 50S2.

The master controllers 50, 150 then determine at step 310, the positionof the steering input device 32. The master controllers then determine avelocity of the vehicle 10 when the determined position of the steeringinput device 32 is near center.

A second drive mode request corresponding to the selected second drivingmode is transmitted at step 320 to the plurality of steering controllers50S1, 50S2 when the velocity of the vehicle 10 is determined to be nogreater than a maximum velocity.

A steering algorithm is executed by the master controllers 50, 150 atstep 280. Generally, the steering algorithm determines the requiredsteering angle of each of the plurality of eModules 40 as a function ofthe determined position of the steering input device 32, the determinedvelocity of the vehicle 10, and the selected first driving mode. Itshould be appreciated that the determined steering angles may be updatedat any desired frequency. By way of a non-limiting example, thedetermined steering angles may be updated at 100 Hertz (Hz). After therequired steering angles are determined, each of the eModules is set tothe respective determined steering angles at step 280.

Referring to FIGS. 8 and 12, when the selected driving mode is 2WS 110,a 2WS steering algorithm 400 is executed at 280. In the 2WS algorithm400, a determination is made as to whether the position of the settinginput device is near 0 degrees at step 405. If the determined positionof the steering input device 32 is near 0 degrees, i.e., near center,each of the eModules is set to an angle of 0 degrees at step 410. Theangle setting of each of the eModules is recorded in a memory in themaster controllers 50, 150 at 415. When the determined position of thesteering input device 32 is not near 0 degrees, then a required steeringangle is calculated in the master controllers 50, 150 at step 420.

Next, an instantaneous center of rotation (ICR) is set to be along acenterline of the LR and RR wheels, i.e., along a Y axis of the vehicle10 at step 425. Then, the angle setting of the LR and RR wheels is setto 0 degrees at step 430. A coordinate position of the ICR in an XYcoordinate plane is then calculated as a function of the calculatedsteering angle at step 435. The steering angles of each of the LF and RFwheels are next calculated to intersect with the calculated ICR at step440.

If the LF and RF wheels have a steering axis and a wheel axis that areoffset, i.e., caster wheel offset, then the caster wheel offsets foreach of the LF and RF wheels is calculated at step 445. Then, the wheelangle offsets are calculated to align the LF and RF wheel centers withthe calculated ICR at step 450, as illustrated in FIG. 13.

Next, the wheel angles of the LF and RF wheels are calculated, relativeto the front F of the vehicle 10 at step 455. Then, the calculated wheelangles are written to the main memory of the master controllers 50, 150at 460.

Referring to FIGS. 9, 12, and 14, when the selected driving mode is 4WS112, a 4WS steering algorithm 500 is executed at 280. In the 4WSalgorithm 500, a determination is made as to whether the position of thesetting input device is near 0 degrees at step 505. If the determinedposition of the steering input device 32 is near 0 degrees, i.e., nearcenter, each of the eModules is set to an angle of 0 degrees at step510. The angle setting of each of the eModules is recorded in a memoryin the master controllers 50, 150 at 515.

When the determined position of the steering input device 32 is not near0 degrees, an ICR lateral line offset is calculated as a function of thevelocity of the vehicle 10 at step 520. When the velocity of the vehicle10 is no less than a minimum velocity, the ICR lateral line iscalculated to intersect a center of the vehicle 10. When the velocity ofthe vehicle 10 is greater than a maximum velocity, the ICR lateral lineis set to intersect the center of the LR and RR wheels. When thevelocity of the vehicle 10 is greater than the minimum velocity and nogreater than the maximum velocity, then the ICR lateral line is set totransition linearly from the position corresponding to velocity that isno less than the minimum velocity and the velocity that is greater thanthe maximum velocity. By way of a non-limiting example, the minimumvelocity may be 5 miles per hour (mph) and the maximum velocity may be10 mph.

At step 525, the steering angle is calculated as a function of thesteering input device 32 angle and a max steer angle. The max steerangle is dependent on the steering case of the vehicle 10, i.e., 2WS110, 4WS 112. When 2WS 110 is selected, the max steer angle is at afirst angle and when 4WS is selected, the max steer angle is at a secondangle, different from the first angle. Therefore, during transition, themax steer angle varies linearly with velocity of the vehicle 10 betweenthe value of the first angle and the value of the second angle.

Next, at step 530, a coordinate position of the ICR in an XY coordinateplane is then calculated as a function of the calculated steering angle.The steering angles of each of the LF and RF wheels are next calculatedto intersect with the calculated ICR at step 540. In turn, the wheelangle of each of the LR, RR, LF, and RF wheel is calculated to intersectwith the calculated ICR at step 535, as illustrated in FIGS. 14 and 15.

If the LR, RR, LF, and RF wheels have a steering axis and a wheel axisthat are offset, i.e., caster wheel offset, then the caster wheeloffsets for each of the LR, RR, LF, and RF wheels are calculated at step540. Then, the wheel angle offsets are calculated to align the LR, RR,LF, and RF wheel centers with the calculated ICR at step 545.

Next, the wheel angles of the LR, RR, LF, and RF wheels are calculated,relative to the front F of the vehicle 10 at step 550. Then, thecalculated wheel angles are written to the main memory of the mastercontrollers 50, 150 at step 555.

As described previously, other modes, such as the diamond steer mode 114illustrated in FIG. 15, may be a subset of the 4WS mode 112. Therefore,when the diamond steer mode 114 is selected, the ICR becomes the centerC of the vehicle 10 and each of the LR, RR, LF, and RF wheels 18 areangled, relative to the front F of the vehicle 10 such that the wheel 10centerlines CL pass through the center C of the vehicle 10. The wheelangles remain constant during the diamond steer mode 114 and aredependent of the aspect ratio of the vehicle 10, i.e. length and widthof the vehicle. The LF and RR wheels 10 may be rotated about the Z-axisin the negative direction, while the RF and LR wheels are rotated aboutthe Z-axis in the positive direction. Rotation of the vehicle 10 aboutthe ICR may be controlled by applying a correct propulsion motordirection for each of the LR, RR, LF, and RF wheels 18. The velocity ofthe vehicle 10 in the diamond steer mode 114 may be limited to a maximumvelocity. By way of a non-limiting example the velocity may be limitedto 2 mph.

Further, vehicle motion in the diamond steer mode 114 from another modemay only be achieved if a minimum threshold of the steering angle of thesteering input device 32 is exceeded and a defined amount ofdisplacement of the accelerator pedal 36, i.e., throttle, is notexceeded. By way of a non-limiting example, of the steering input device32 is turned to the minimum threshold of 45 degrees, in eitherdirection, and the defined amount of displacement of the acceleratorpedal 36 is exceeded.

In another non-limiting example, the diamond steer mode 114 may beachieved when the defined amount of displacement of the acceleratorpedal 34 is achieved and the steering input device 32 is turned slowlyin the desired direction of displacement. As such, if the steering inputdevice 32 is at center, i.e., 0 degrees, the vehicle will stop. However,if the steering input device 32 is at the minimum threshold of 45degrees, the vehicle will turn in the direction of the steering inputdevice 32, i.e., left or right.

In yet another non-limiting example, the diamond steer mode 114 may beachieved by using a combination of varying the angle of the steeringinput device 32 and the amount of displacement of the accelerator pedal34.

Referring to FIGS. 18A-18F, the diamond steer mode 114 may be used toposition the vehicle in a spot 115 located between two objects, such asbetween two other vehicles 10A, 10B when parallel parking. By way of anon-limiting example, the vehicle 10 may include location devices 117,such as at least one proximity sensor 117A, a camera 117B, and the like.The location devices 117 may be configured to determine proximity ofportions of the vehicle 10 relative to the other vehicles 10A, 10B. Thevehicle 10 is positioned adjacent the spot 115, as illustrated in FIG.18A. The operator of the vehicle 10 may select a parallel parkingmaneuver and the like from the HMI selection menu 38. Once selected, thelocation devices 117 may determine the position of the portions of thevehicle 10, relative to the other vehicles 10A, 10B. Once determined,the LR, RR, LF, and RF wheels 18 are angled, relative to the front F ofthe vehicle 10 such that the wheel 10 centerlines CL pass through thecenter C of the vehicle 10, as illustrated in FIG. 18B. Propulsion ofthe LR, RR, LF, and RF wheels 18 is then initiated until the vehicle 10rotates to a desired position such that the front F of the vehicle 10faces the spot 115, as illustrated in FIG. 18C. Once positioned, the LR,RR, LF, and RF wheels 18 are rotated until the LR, RR, LF, and RF wheels18 are facing forward F, as illustrated in FIG. 18D. Next, propulsion ofthe LR, RR, LF, and RF wheels 18 is initiated until the vehicle 10 islocated in the spot 115 between the two vehicles 10A, 10B. Additionally,referring to FIGS. 18E and 18F, if typical parallel parking in the spot115 between the two vehicles 10A, 10B is desired, then when the vehicle10 is positioned in the spot 115 between the vehicles 10A, 10B, anotherdiamond steer mode 114 may be initiated to turn the vehicle 10 until thefront F of the vehicle 10 is facing one of the adjacent vehicles 10A,10B.

Alternatively, referring to FIGS. 19A-19C, if parallel parking isdesired, once the vehicle 10 is positioned adjacent the spot 115, asshown in FIG. 19A, instead of initiating a diamond steering mode 114,the LR, RR, LF, and RF wheels 18 may be angled approximately 90 degreesfrom facing forward F, i.e., facing the spot. Once the wheels 18 are inthis position, the vehicle 10 may be driven “sideways” toward the spot,as shown in FIG. 19B, until the vehicle 10 is disposed in the spotbetween the two vehicles 10A, 10B. Once in position between the twovehicles 18A, 18B, the wheels 18 may be rotated to facing forward F, asillustrated in 19C.

Another parallel parking maneuver of the vehicle 10 is illustrated inFIGS. 20A and 20B. FIG. 20A illustrates maneuvering the vehicle 10 fromthe initial driving position A, through the iterative driving positionsB, C, D, E, until the vehicle 10 is facing in an X direction, oppositethe initial driving position A and the wheels turned perpendicular tothe X direction, i.e., in the Y direction. Once the vehicle 10 is in thedriving position E, with the vehicle 10 positioned between the two othervehicles 10A, 10B, the vehicle 10 driven along the Y direction and thewheels may be once again turned to extend in the X direction, asillustrated in FIG. 20B. This type of parallel parking maneuver allowsparallel parking without tire scrub by rotating the vehicle an entire180 degrees during the maneuver. Using the sensors 117A, 117B, thismaneuver may be executed autonomously.

With reference to FIGS. 6 and 12, when the vehicle is operating in 2WS110 and the selection of 4WS 112 is made, the transition from 2WS 110 to4WS 112 is a function of the velocity of the vehicle 10. When thevehicle is operating at a vehicle speed that is greater than the maximumvelocity, the vehicle 10 remains in the 2WS mode 110 and configuration.When the vehicle is operating at a vehicle speed which is no greaterthan the maximum velocity and greater than the minimum velocity, thenthe transition from 2WS 110 to 4WS 112 is done by linearly moving theICR line between the centerline CL of the LR and RR wheels 18 and thecenter C of the vehicle 10. If the ICR is inside of the vehicle 10, theICR is also pulled out of the vehicle 10 linearly during thistransition. When the vehicle 10 is operating at a vehicle speed that isless than the minimum velocity, then the vehicle 10 transitions to the4WS mode 110.

Referring to FIGS. 10 and 12, when the selected driving mode isomni-directional steer, an omni-directional steer algorithm 600 isexecuted at 280. In the omni steer algorithm 600, a directional vectoris calculated in the master controllers 50, 150, at step 605, as afunction of the determined position of the steering input device 32. Thedirectional vector may be a function of the angle of the steering inputdevice 32 and a maximum omni angle. The maximum omni-directional anglelimits a direction of the vector angle due to limits of the steeringmotor.

At step 610, a normalized joystick 132 yaw angle is determined. Theangle may be within a range of 0+/−1 degrees. At step 615, if thejoystick 132 yaw angle is not determined to be less than a minimum yawangle or greater than a maximum yaw angle, then the wheel angles of thevehicle 10 are written to the main memory in the master controllers 50,150 at step 620. However, if the joystick 132 yaw angle is determined tobe less than a minimum yaw angle or greater than a maximum yaw angle,the algorithm 600 proceeds to step 625. At step 625, the steer angle iscalculated as a function of the max steer angle and the joystick 132 yawangle about the Z-axis. The max steer angle limits the turning radius ofthe vehicle 10 such that the combined maximum direction vector angle andmaximum steering angle of any wheel does not exceed the limits of thesteering motor, e.g., +/−160 degrees.

Next, the steering radius of the vehicle 10 is calculated from thecenter C of the vehicle 10 at step 630. The coordinate position of theICR is calculated as a function of the calculated steering radius andthe directional vector at step 635. Then, the angles of the LF eModule,the RF eModule, the LR eModule, and the RR eModule are calculated atstep 640, relative to the location of the steering motor.

If the LR, RR, LF, and RF wheels have a steering axis and a wheel axisthat are offset, i.e., caster wheel offset, then the caster wheeloffsets for each of the LR, RR, LF, and RF wheels are calculated at step645. Then, the wheel angle offsets are calculated to align the LR, RR,LF, and RF wheel centers with the calculated ICR at step 650.

Next, the wheel angles of the LR, RR, LF, and RF wheels are calculated,relative to the front F of the vehicle 10 at step 655. At step 620, thewheel angle of the LF eModule, the RF eModule, the LR eModule, and theRR eModule are recorded to the memory in the master controllers 50, 150.

Referring to FIGS. 11 and 12, when the selected driving mode is the parkmode 118, a park mode algorithm 700 is executed at 280. In the park modealgorithm 700, a determination is made in the master controllers 50,150, whether the vehicle 10 is in motion at step 705. At step 710, thewheel angles of the LR 29, RR 30, LF 25, and RR 27 wheels 18 aredetermined. In the park mode 118, the wheel angles of the LR 29, RR 30,LF 25, and RR 27 wheels 18 may be pre-programmed in the memory in themaster controllers 50, 150. The wheel angle of the LR 29, RR 30, LF 25,and RR 27 wheels 18 may be such that each LR 29, RR 30, LF 25, and RR 27wheel 18 is set to a constant angle, relative to the front F of thevehicle 10, so as to oppose the vehicle 10 rolling in any direction bycreating wheel scrub. At step 715, the wheel angle of the LF 25 eModule40, the RF 27 eModule 40, the LR 29 eModule 40, and the RR 30 eModule 40are recorded to the memory in the master controllers 50, 150.

While the best modes for carrying out the many aspects of the presentteachings have been described in detail, those familiar with the art towhich these teachings relate will recognize various alternative aspectsfor practicing the present teachings that are within the scope of theappended claims.

1. A method of controlling steering of a vehicle through setting wheelangles of a plurality of modular electronic corner assemblies(eModules), the method comprising: activating a driver interface device;receiving a selected first driving mode selected from the driverinterface device; determining, by a master controller, when a brakepedal is activated; and transmitting a first drive mode requestcorresponding to the selected first driving mode to a plurality ofsteering controllers when the brake pedal is determined to be activated;wherein each of the plurality of steering controllers corresponds to arespective one of the plurality of eModules.
 2. A method, as set forthin claim 1, further comprising: determining a position of a steeringinput device; determining, in the master controller, a required steeringangle of each of the plurality of eModules as a function of thedetermined position of the steering input device and the selected firstdriving mode; and setting the eModules to the respective determinedsteering angles.
 3. A method, as set forth in claim 2, furthercomprising: receiving a second driving mode selected from the driverinterface device; determining, in the master controller, the position ofthe steering input device; determining, in the master controller, avelocity of the vehicle when the determined position of the steeringinput device is near center; transmitting a second drive mode requestcorresponding to the selected second driving mode to the plurality ofsteering controllers when the velocity of the vehicle is determined tobe no greater than a maximum velocity; and determining, in the mastercontroller, a required steering angle of each of the plurality ofeModules as a function of the determined position of the steering inputdevice and the selected first driving mode; and setting the eModules tothe respective determined steering angles.
 4. A method, as set forth inclaim 3, further comprising: receiving a command to activate a modeselection menu; determining, by the master controller, if the vehicle isin motion; and activating the driver mode selection menu when thevehicle is determined to not be in motion.
 5. A method, as set forth inclaim 1, further comprising: determining, with at least one locationdevice, a spot defined between objects adjacent the vehicle; whereindetermining the wheel angle is further defined as determining the wheelangle for each of the plurality of eModules as a function of the drivingmode, the position of the steering input device, the determined velocityof the vehicle, and the spot defined between objects adjacent thevehicle.